package somar_test_hello.parser.rselV1_4a;
import java.util.Vector;

import org.xml.sax.Attributes;
import org.xml.sax.ext.Attributes2Impl;

public abstract class EntryElement implements Acceptor{
	public static final String PROCESSELMTNAME = "process";
	public static final String CLASSLIBELMTNAME = "classlib";
	public static final String CLASSELMTNAME = "class";
	public static final String VARIABLEELMTNAME = "variable";
	public static final String RSELELMTNAME = "RSEL";
	public static final String INVOKEELMTNAME = "invoke";
	public static final String DOCUMENTATIONELMTNAME = "documentation";
	public static final String TOELMTNAME = "to";
	public static final String FROMELMTNAME = "from";
	public static final String PARAMETERELMTNAME = "parameter";
	public static final String RETURNELMTNAME = "return";
	public static final String VARIABLESELMTNAME = "variables";
	public static final String IMPORTELMTNAME = "import";
	public static final String ASSIGNELMTNAME = "assign";

	Vector<EntryElement> children;
	protected String elementQName;
	protected String elementCharacters;
	protected Attributes2Impl elementAttrs;

	public EntryElement(String qName, Attributes attrs){
		elementQName = qName;
		elementAttrs = new Attributes2Impl(attrs);
		children = new Vector<EntryElement>();
	}

	public abstract EntryElement clone();

	public String getQName(){
		return elementQName;
	}

	public String getCharacters(){
		return elementCharacters;
	}

	public void setCharacters(String characters){
		elementCharacters = characters;
	}

	public Attributes2Impl getAttribues(){
		return elementAttrs;
	}

	public void addChild(EntryElement child){
		children.add(child);
	}

	public Vector<EntryElement> getChildren(){
		return children;
	}

	public String toString(){
		return this.getQName();
	}
}